package com.ruoyi.ftrl.mapper;

import java.util.List;
import com.ruoyi.ftrl.domain.TemperatureControl;
import org.apache.ibatis.annotations.Param;

/**
 * 温控阀管理Mapper接口
 * 
 * @author dihang
 * @date 2024-08-08
 */
public interface TemperatureControlMapper 
{
    /**
     * 查询温控阀管理
     * 
     * @param id 温控阀管理主键
     * @return 温控阀管理
     */
    public TemperatureControl selectTemperatureControlById(Long id);

    /**
     * 查询温控阀管理列表
     * 
     * @param temperatureControl 温控阀管理
     * @return 温控阀管理集合
     */
    public List<TemperatureControl> selectTemperatureControlList(TemperatureControl temperatureControl);

    /**
     * 新增温控阀管理
     * 
     * @param temperatureControl 温控阀管理
     * @return 结果
     */
    public int insertTemperatureControl(TemperatureControl temperatureControl);

    /**
     * 修改温控阀管理
     * 
     * @param temperatureControl 温控阀管理
     * @return 结果
     */
    public int updateTemperatureControl(TemperatureControl temperatureControl);

    /**
     * 删除温控阀管理
     * 
     * @param id 温控阀管理主键
     * @return 结果
     */
    public int deleteTemperatureControlById(Long id);

    /**
     * 批量删除温控阀管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTemperatureControlByIds(Long[] ids);

    /**
     * 根据集中器ID和计量点ID来查询该温控阀设备信息
     * @param sid
     * @param meternum
     * @return
     */
    TemperatureControl selectTemperatureControlByIds(@Param("sid") String sid,@Param("meternum") String meternum);

    /**
     * 查询采集器下的温控阀管理列表
     */
    List<TemperatureControl> selectTemperatureControlLists(Long id);

    /**
     * 根据设备编码查询设备详情
     * @param address2nd
     * @return
     */
    TemperatureControl selectTemperatureControlByCode(String address2nd);

    List<TemperatureControl> selectTemperatureControlListByIds(@Param("ids") List<Long> ids);


    Long countDevicesByType(@Param("ids") List<Long> ids, @Param("deviceType") String deviceType);
}
